using System.Reflection;
using Snake.Core;
using Snake.Mapping;

namespace Snake.SQL.SQLNode
{
    public abstract class DbOperate : ISQLNode
    {
        public  BracketedName Alias;
        public  EntityMap EntityMap;
        public  Where Where;
        public Top Top { get; set; }
        public abstract bool VisitPath(DbContext context, PropertyInfo[] path, out BracketedName alias, out PropertyMap map);
        public abstract void Render(SQLWriter writer);
    }
}